org.neo4j.helpers.collection
Class NestingIterator<T,U>

java.lang.Object
  extended by org.neo4j.helpers.collection.PrefetchingIterator<T>
      extended by org.neo4j.helpers.collection.NestingIterator<T,U>
Type Parameters:
T - the type of items to return
U - the type of items in the surface item iterator
All Implemented Interfaces:
Iterator<T>

public abstract class NestingIterator<T,U>
extends PrefetchingIterator<T>

For each item in the supplied iterator (called "surface item") there's instantiated an iterator from that item which is iterated before moving on to the next surface item.


Constructor Summary
NestingIterator(Iterator<U> source)
           
 
Method Summary
protected abstract  Iterator<T> createNestedIterator(U item)
           
protected  T fetchNextOrNull()
           
 U getCurrentSurfaceItem()
           
 
Methods inherited from class org.neo4j.helpers.collection.PrefetchingIterator
getPrefetchedNextOrNull, hasNext, next, remove, setPrefetchedNext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NestingIterator

public NestingIterator(Iterator<U> source)
Method Detail

createNestedIterator

protected abstract Iterator<T> createNestedIterator(U item)

getCurrentSurfaceItem

public U getCurrentSurfaceItem()

fetchNextOrNull

protected T fetchNextOrNull()
Specified by:
fetchNextOrNull in class PrefetchingIterator<T>


Copyright © 2010 Neo4j. All Rights Reserved.